package cn.miketsu.iced.annotation;

import java.lang.annotation.*;

/**
 * 数据类型
 * 1.2版本-修改value为枚举类型，新增精度属性accuracy
 *
 * @author wangzefeng
 * @since 1.0-SNAPSHOT
 */
@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface DataType {
    SqlDataType value();
    int accuracy() default -1;//精度，值为非正数时会被忽略，不拼接在sql语句中

    enum SqlDataType{
        MYSQL_INT(" INT"),
        MYSQL_FLOAT(" FLOAT"),
        MYSQL_DOUBLE(" DOUBLE"),
        MYSQL_CHAR(" CHAR"),
        MYSQL_VARCHAR(" VARCHAR"),
        MYSQL_TEXT(" TEXT"),
        MYSQL_BLOB(" BLOB"),
        MYSQL_TIMESTAMP(" TIMESTAMP");

        String sql;

        SqlDataType(String sql) {
            this.sql=sql;
        }

        public String getSql() {
            return sql;
        }
    }
}
